package cn.itcast.item.service;

import cn.itcast.hmall.dto.common.PageDTO;
import cn.itcast.hmall.dto.common.ResultDTO;
import cn.itcast.hmall.dto.item.SearchItemDTO;
import cn.itcast.hmall.pojo.item.Item;

import com.baomidou.mybatisplus.extension.plugins.pagination.PageDto;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;


/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author itcast
 */
public interface ItemService extends IService<Item> {


    /**
     * 分页查询商品
     * @param searchItemDTO
     * @return
     */
    PageDTO<Item> selectPage(SearchItemDTO searchItemDTO);

    /**
     * 通过id查询
     * @param id
     * @return
     */
    Item selectItemById(Long id);

    /**
     * 新增数据
     * @param item
     * @return
     */
    ResultDTO insertItem(Item item);

    /**
     * 上架、下架
     * @param id
     * @param status
     * @return
     */
    ResultDTO statusIdItem(Long id, Integer status);

    /**
     * 修改商品信息
     * @param item
     * @return
     */
    ResultDTO updateStatus(Item item);

    /**
     * 根据id删除商品
     * @parm    id
     * @return
     */
    ResultDTO deleteById(Long id);


    /**
     * 查询全部商品信息
     * @return
     */
    PageDTO<Item> selectAllPage(Integer i);
}
